package com.jrx.anytxn.customer.dto.customer;

import com.jrx.anytxn.common.constant.RegexConstant;
import com.jrx.anytxn.customer.dto.BaseApiReq;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
 * 客户注册 请求
 *  @author xqy
 * @version 1.0
 * @date 2019/11/19
 */
public class CustomerRegisterReq extends BaseApiReq implements Serializable {


    private static final long serialVersionUID = -3506281148289904582L;

    @NotBlank(message = "姓名不能为空")
    @ApiModelProperty(value="姓名")
    private String chineseName;

    @NotBlank(message = "证件号不能为空")
    @Pattern(regexp = RegexConstant.ID_NO, message = "身份证号码格式不正确")
    @ApiModelProperty(value="证件号码")
    private String idNumber;

    @NotBlank(message = "证件类型不能为空")
    @ApiModelProperty(value="证件类型")
    private String idType;

    @NotBlank(message = "手机号不能为空")
    @Pattern(regexp = RegexConstant.MOBILE_FORMAT, message = "手机号格式不对，请正确输入")
    @ApiModelProperty(value="手机号")
    private String mobile;

    @NotBlank(message = "发证机关不能为空")
    @ApiModelProperty(value="发证机关")
    private String idIssueAgent;

    @NotBlank(message = "证件有效期起始日期不能为空")
    @Pattern(regexp = RegexConstant.DATA_FORMAT, message = "日期格式不对，请正确输入yyyy-MM-dd")
    @ApiModelProperty(value="证件有效期起始日期")
    private String idEffectiveDate;

    @NotBlank(message = "证件有效期终止日期不能为空")
    @ApiModelProperty(value="证件有效期终止日期")
    private String idExpireDate;

    @ApiModelProperty(value="出生日期")
    @Pattern(regexp = RegexConstant.DATA_FORMAT, message = "日期格式不对，请正确输入yyyy-MM-dd")
    private String birthDate;

    @ApiModelProperty(value="性别")
    private String sex;

    @ApiModelProperty(value="职业类型")
    private String occuptionType;

    @ApiModelProperty(value="推荐人编码")
    private String recommenderCode;

    @ApiModelProperty(value="子渠道号")
    private String subChannel;

    @ApiModelProperty(value="微信unionId")
    private String unionId;

    public String getChineseName() {
        return chineseName;
    }

    public void setChineseName(String chineseName) {
        this.chineseName = chineseName;
    }

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    public String getIdType() {
        return idType;
    }

    public void setIdType(String idType) {
        this.idType = idType;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getIdIssueAgent() {
        return idIssueAgent;
    }

    public void setIdIssueAgent(String idIssueAgent) {
        this.idIssueAgent = idIssueAgent;
    }

    public String getIdEffectiveDate() {
        return idEffectiveDate;
    }

    public void setIdEffectiveDate(String idEffectiveDate) {
        this.idEffectiveDate = idEffectiveDate;
    }

    public String getIdExpireDate() {
        return idExpireDate;
    }

    public void setIdExpireDate(String idExpireDate) {
        this.idExpireDate = idExpireDate;
    }

    public String getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(String birthDate) {
        this.birthDate = birthDate;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getOccuptionType() {
        return occuptionType;
    }

    public void setOccuptionType(String occuptionType) {
        this.occuptionType = occuptionType;
    }

    public String getRecommenderCode()
    {
        return recommenderCode;
    }

    public void setRecommenderCode(String recommenderCode)
    {
        this.recommenderCode = recommenderCode;
    }

    public String getSubChannel() {
        return subChannel;
    }

    public void setSubChannel(String subChannel) {
        this.subChannel = subChannel;
    }

    public String getUnionId() {
        return unionId;
    }

    public void setUnionId(String unionId) {
        this.unionId = unionId;
    }

    @Override
    public String toString() {
        return "CustomerRegisterReq{" +
                "chineseName='" + chineseName + '\'' +
                ", idNumber='" + idNumber + '\'' +
                ", idType='" + idType + '\'' +
                ", mobile='" + mobile + '\'' +
                ", idIssueAgent='" + idIssueAgent + '\'' +
                ", idEffectiveDate='" + idEffectiveDate + '\'' +
                ", idExpireDate='" + idExpireDate + '\'' +
                ", birthDate='" + birthDate + '\'' +
                ", sex='" + sex + '\'' +
                ", occuptionType='" + occuptionType + '\'' +
                ", subChannel='" + subChannel + '\'' +
                ", unionId='" + unionId + '\'' +
                '}';
    }
}